1. Field of the Invention
The present invention relates generally to the distribution of multimedia content in a multicast network environment, and more particularly to a multicast network system having a high-speed multicast communication channel to multicast information to one or more receivers, and also having a return channel, which may operate at a lower speed, for permitting the receivers to interact with the network.
2. Description of Related Art
The most popular method for distributing multimedia information is the Internet""s world wide web (WWW). Referring to FIG. 1, the WWW can be considered as a set of network accessible information resources, wherein many web servers 10 and web browsers 12 are connected to the Internet 14 via the TCP/IP protocols. (These protocols are described in the book xe2x80x9cInternetworking with TCP/IP, Vol. Ixe2x80x9d by Douglas Comer, published by Prentice-Hall in 1991, which is incorporated by reference herein.) The web browsers 12 typically reside in personal computers (PCs) 16 which are connected to the Internet. The connection between the PCs 16 and the Internet 14 is often a low speed connection, such as a dial-up modem telephone line connection. The web servers 10 are also connected to the Internet, typically by high-speed dedicated circuits such as a 1.5 Mbps T1 connection. A PC user uses the browser 12 to access web sites 18 (which contain web pages, graphics and other multimedia content) from the servers 10 via the Internet 14 using Hypertext Transfer Protocol (HTTP). This xe2x80x9cconventionalxe2x80x9d method for retrieving information from the world wide web requires a separate TCP connection each time a user accesses a web site, even if the user repeatedly access the same web site.
The world wide web is founded on three basic ideas:
(1) a global naming scheme for resourcesxe2x80x94Uniform Resource Locators (URLs);
(2) protocols for accessing named resourcesxe2x80x94the most common is the HTTP; and
(3) hypertextxe2x80x94the ability to embed links to other resources which is typically done according to the Hypertext Markup Language (HTML).
Each web site 18 contains a collection of web pages operated by a single enterprise which appears to a user of a web browser 12 as a single set of related content. Web pages within a web site 18 are formatted according to the Hypertext Markup Language (HTML) standard. The HTML standard provides for the display of high-quality text, including control over the location, size and font for the text and the display of graphics within the web page. The HTML standard also provides for the xe2x80x9clinkingxe2x80x9d from one web page to another, including linking between web pages stored on different web servers and even different web sites. Each HTML document, graphic image, video clip or other individual piece of content is identified by an Internet address, referred to as a Uniform Resource Locator (URL). As used herein, xe2x80x9cURLxe2x80x9d refers to an address of an individual piece of web content (HTML document, image, sound-clip, video-clip, etc. ), and xe2x80x9cURL data itemxe2x80x9d refers to the individual piece of content addressed by the URL.
While very popular, the above-described conventional dial-up method of accessing multimedia information is limited in at least two very important ways. First, most PC users access the Internet using dialup modems through an ordinary telephone line. These lines operate at a relatively low speed (e.g. 28.8 or 56 kbps) so that the display of an ordinary web page (e.g. 150 kbytes) takes a long time (e.g. 50 seconds) and the display of even short video clips (such as a 6 MB movie trailer in low-resolution xe2x80x9cQuicktimexe2x80x9d format) takes much longer (e.g. half an hour). Also, a user""s telephone line is unavailable for normal voice calls the entire time that the Internet is being accessed.
Second, the conventional method uses point-to-point transfer, wherein each web site 18 must individually deliver its content to each web browser 12. Thus, a single 150 kbyte web page must be individually carried from the web server across the Internet to each browser that displays that page. If a popular web server delivers ten reasonably large pages (for a total of 1.5 MB) to each of 10,000 users during a busy hour, the web server would require at least a 33 Mbps bandwidth link to the Internet. The link to the Internet and a web server fast enough to fill the link is presently prohibitively expensive and complicated. Support for a million or more users during the busy hour would be completely impossible with current Internet technology.
The world wide web presently supports two methods (advertisements and subscriptions) for a web site operator to obtain revenue for its site""s content. Advertisements are embedded into a web site""s web pages, typically in the form of images, wherein a user can xe2x80x9clinkxe2x80x9d to the advertiser""s web site for more information by clicking on the image. Web-based advertising is superior to normal multicast advertising (e.g. TV, radio and newspaper advertising) in that the web server 10 is able to track exactly how many users have seen a given advertisement and, for repeat users, track by user which advertisements and how many such advertisements the user has seen.
If a web site generates revenue through subscriptions a user is only able to access that web site""s content if they have xe2x80x9csubscribedxe2x80x9d to the site, i.e., agreed to pay to access the site. By requiring the user to provide an account name and password each time the user wishes to access the site, a web site controls access so that only paying subscribers can access the site.
Multicast systems are able to accommodate large numbers of users much more easily than the Internet when the users are accessing common content, because a given data item is multicast (i.e., sent only once) regardless of the number of receivers. Multicast networks distributing multimedia content have been in use in recent years over wide-area networks, such as a geosynchronous satellite multicast or FM-radio side-band transmission.
Some multimedia multicast systems have been proposed in academia which involve individually multicasting frequently accessed URLs which have been tagged to allow the receiver to filter and store only those web pages which, based on past history, may be of interest to the receiver. These systems have failed to be commercially deployed because they copy and multicast content without permission, thereby creating possibly conflict with copyright laws. Further, they do not guarantee the user a consistent set of content which can be accessed xe2x80x9cofflinexe2x80x9d (i.e. not while connected to the Internet) and they do not provide a mechanism for preserving a web site""s subscription and advertising revenue.
A commercially deployed multimedia multicast system is AirMedia, Inc.""s Internet Antenna system which uses an FM-radio side-band multicast to distribute news and information (with limited graphics). A computer terminal receives the multicast information and stores it on the computer""s hard disk. The information is multicast in a proprietary format and is made available to the user via a special purpose application. The AirMedia system suffers from a lack of compelling content, partly due to its very low speed (e.g. 19 kbps) FM side-band multicast transmission system.
Another such system is Intel""s Intercast system, which uses the vertical blanking interval within an NTSC multicast to multicast information in order to xe2x80x9cdata enhancexe2x80x9d the TV channel it is carried on. The vertical blanking interval, which is normally used to carry closed caption information, is also a low-speed multicast (e.g. 30 kbps). Unlike the Air Media system, Intercast multicasts its data in a standard HTML format. Intercast provides a viewer application similar to a web browser which, together with special hardware, allows the user to watch the TV program on a computer monitor while simultaneously accessing the supplementary HTML multimedia data.
The primary problem with such multicast systems is the availability of good content for multicast broadcasting. The providers of good content will only specifically prepare their content for a multicast system after there are already a large number of users to receive such content or when the multicast system operator is willing to pay large amounts of money. However, a multicast system operator typically cannot get a large number of users until the system has good content and cannot obtain the financing to pay for good content until a large number of users have subscribed to the system. This xe2x80x9cchicken and eggxe2x80x9d problem of good content/number of users has long plagued the development of multimedia multicast systems.
In many cases, a new multicast system is launched by recycling preexisting content. Television, for example, overcame the xe2x80x9cchicken and the eggxe2x80x9d problem by recycling content originally developed for other media. Radio shows were converted to be both seen (on TV) and heard, often retaining the original actors, characters, plots and even much of the preexisting scripts. Movies, plays, operas and other existing material were also multicast on television. Once television was established using this preexisting content and achieved a critical mass of users, television multicasters could afford to develop new content targeted exclusively for television (i.e., sitcoms, mini-series, nightly news, late night talk-shows, infomercials, etc.).
Another major obstacle to the successful deployment of multicast systems has been the impact of processing (receiving, filtering, storing, etc) the multicast data on the receiving computer. Prior multicast systems have failed because receiving the multicast data negatively impacted the receiving computers"" performances, such that users frequently disabled the multicast application in order to run other applications. Often, users would forget to restore the multicast receiver application, thereby triggering a complete loss of functionality. Computer games are a classic example of an application that uses all the resources of a computer and, as such, are negatively impacted by the receipt and processing of multicast data. Further, personal computer operating systems generally do not provide optimal sharing of resources between competing real-time applications. Thus, the typical personal computer user will not tolerate loss of performance (such as xe2x80x9cjerkyxe2x80x9d video and graphics and/or unresponsive game control) for the sake of receiving multicast multimedia content.
In some multicast systems, such as Air Media, the impact on the receiving computer was insignificant due to the low speed of the multicast link. However, a high-speed multicast link is very desirable as it increases the quantity and quality of the content available to the user. Thus, there remains a need for a high-speed multicast system which is compatible with existing content and does not interfere with other processing performed by the receiving computer.
Prior to the present invention, no multimedia multicast system was able to solve the number of users/good content xe2x80x9cchicken and the eggxe2x80x9d problem facing new multicast systems. The present invention overcomes this problem by providing access to unmodified, high-quality content from existing web sites in a way which requires no changes to the operation of the web sites and also preserves web sites"" advertising and subscription revenues. The present invention also utilizes a high-speed link (such as a satellite link) to provide a large quantity of content and includes several innovative mechanisms for receiving such content from such high-speed link with minimal impact on the operation of other applications within the receiving computer. The present invention is referred to herein as xe2x80x9cDirecPC(copyright) WebCastxe2x80x9d or xe2x80x9cWebCast.xe2x80x9d DirecPC(copyright) is a registered trademark of Hughes Network Systems. The basic DirecPC(copyright) system, which generally provides a one-way high speed link for receiving information from the Internet but does not utilize a multicast network, is described in co-pending application Ser. No. 08/257,670 (filed Jun. 8, 1994) and Ser. No. 08/795,505 (filed Feb. 7, 1997), which are assigned to the same assignee as the present invention.)
Generally, WebCast comprises a multicast network which multicasts selected web site content (called xe2x80x9cchannelsxe2x80x9d) onto a receiving computer""s hard disk, making that content available to the user at xe2x80x9chard diskxe2x80x9d speed. As set forth in detail below, a channel is a set of web content which a user may be interested in repeatedly accessing. Preferably, the web content within the channel is periodically updated. WebCast reports sufficient usage information to the web site (i.e. what content has been accessed by the user) to support advertising-based revenues, while requiring no change to the web site""s operation.
The present invention also supports subscription-based revenue web sites. Each receiving computer receives an Electronic Program Guide (EPG), which supports the promotion and subscription to available web site channels. The EPG provides functionality beyond what is accomplished by static web pages in that it permits easy access to channels to which a user has subscribed and provides promotional material for all other available WebCast channels. Such promotional material is accessed from the EPG""s cached content until the user subscribes or unsubscribes to the channel. At this point, the WebCast software contacts a conditional access system in the multicast network and performs a transaction to initiate or terminate the subscription. The conditional access system optionally provides subscription information to the multicast system""s billing system for subsequent billing of the WebCast user and/or reporting back to the channel""s web site.
Within the receiving computer, WebCast configures a web browser to display the stored (or xe2x80x9ccachedxe2x80x9d) web site channel content. When started, a content viewer on the receiving computer configures the web browser to access the cached content via an HTTP proxy-server within the WebCast content viewer. A xe2x80x9ccache-missxe2x80x9d occurs when the browser requests a URL which is not stored in the cache of multicast data. When a cache-miss occurs, the WebCast software notifies the user and offers the user a choice of accessing the content via normal (i.e. dial-up) Internet access. If the user so chooses, the WebCast application establishes a connection to the Internet (if needed) and forwards the requests for content to the web server on the Internet which contains the missing content. Preferably, this Internet connection is xe2x80x9cseamless,xe2x80x9d in that it requires no action by the user but is automatically established by the WebCast software. WebCast also from time-to-time establishes a connection to the Internet to send usage information to the appropriate web sites.
According to one aspect of the present invention, a system and method that transmits content organized into channels, wherein a channel""s content includes a plurality of URL data items and each URL data item is addressed by a URL, comprises assigning one or more multicast addresses to each channel, scheduling the assembling of a channel""s content, assembling the channel""s content, fragmenting the channel""s content into packets, wherein each packet is addressed with one of the channel""s multicast addresses, and multicasting the packets.
According to another aspect of the present invention, a system and method that transmits content organized into channels, wherein a channel""s content includes a plurality of URL data items and each URL data item is addressed by a URL, comprises scheduling the assembling of a channel""s content, assembling the channel""s content, compressing a subset of the URL data items, wherein each URL data item is compressed individually independent of other URL data items such that each compressed URL data item can be decompressed without decompressing other URL data items, fragmenting the channel""s content into packets, and multicasting the packets. The present invention may further assemble a base package of the channel""s content, wherein the base package contains each URL data item in the channel, and assemble a delta package of the channel""s content, wherein the delta package contains URL data items which have changed or are new since the previous assembling of the base package.
According to yet another aspect of the present invention, a system and method that transmits content organized into channels, wherein a channel""s content includes a plurality of URL data items and each URL data item is addressed by a URL, comprises scheduling the assembling of a channel""s content, assembling the channel""s content according to the schedule, fragmenting the channel""s content into packets, multicasting the packets to a plurality of receivers, wherein each receiver stores the received channel""s content in a receiver memory, and receiving usage reports from each receiver, wherein each usage report identifies a subset of URL data items from the stored URL data items that were accessed from the receiver memory.
According to yet another aspect of the present invention, a receiver for receiving from a multicast network content organized into channels, wherein a channel""s content includes a plurality of URL data items and each URL data item is addressed by a URL, and wherein the multicast network transmits the channel""s content to the receiver in packets, determines a multicast address used to carry a channel""s packets, enables reception of packets containing a channel""s multicast address, receives the packets containing a channel""s multicast address, assembles the received packets into a channel""s content, stores the channel""s content, and allows a user to access the stored channel""s content. The receiver may further individually decompress each compressed URL data item in the stored channel content at a time when the user accesses the URL data item.
According to yet another aspect of the present invention, a receiver in a multicast system receives URL data items from a multicast network, stores the received URL data items, allows a user to access the stored URL data items, and tracks user access to the stored URL data items. The receiver may further determine when a URL data item requested to be accessed by the user is not present within the stored URL data items, notify the user that the requested URL data item is not stored, and allow the user to access the non-stored URL data item via a connection (such as dial-up modem) to a TCP/IP network, such as the Internet.
According to yet another aspect of the present invention, a receiver in a multicast system monitors receiver activity, and selectively receives content from a multicast network, wherein the content is selectively received based on the monitored receiver activity. The receiver may be, for example, a personal computer and the monitored activity may include other applications/programs running on the receiver, disk/memory utilization and/or user input (keystrokes or mouse clicks). The receiver may further suspend reception of content pending conclusion of the monitored activity, such that reception does not interfere with the monitored activity.
According to yet another aspect of the present invention, a receiver in a multicast system comprises a package receiver for receiving packets containing URL data items from a multicast network and assembling the received packets into a channel, wherein the channel comprises a set of URL data items, a memory for storing the channel, and a content viewer for allowing a user to request access to and access the LRL data items in the stored channel.
According to yet another aspect of the present invention, a system for multicasting URL data items from web sites to a plurality of receivers comprises a web crawler for retrieving URL data item from the the web sites and formatting the retrieved URL data item into packages, a package delivery subsystem for receiving the packages from the web crawler, fragmenting the packages into packets and transmitting the packets to a multicast network, and a conditional access system for determining which receivers are authorized to receive the packets, wherein the multicast network multicasts the packets only to authorized receivers.
According to still another aspect of the present invention, a system for multicasting content organized into channels to a plurality of receivers, wherein a channel""s content includes a plurality of URL data items from at least one web site, comprises a web crawler for retrieving the URL data items from the web site via a TCP/IP network and formatting the retrieved URL data items into packages, a package delivery subsystem for receiving the packages from the web crawler and fragmenting the packages into packets, a conditional access system for determining which receivers are authorized to receive the packets, and a multicast network for receiving the packets from the package delivery subsystem. The conditional access system encrypts the packets and the multicast network multicasts the encrypted packets to the authorized receivers, wherein the authorized receivers store the packets in a memory and decrypt the packets.